package com.xframework.security.model;

import java.util.List;

import com.fasterxml.jackson.annotation.JsonInclude;
import com.xframework.annotation.MappingColumn;
import com.xframework.annotation.MappingTable;
import com.xframework.model.BaseModel;

/**
 * 系统表.
 */
@JsonInclude(JsonInclude.Include.NON_NULL)
@MappingTable(tableName = "SECURITY_APPLICATION")
public class Application extends BaseModel {
	/**
	 * 系统id.
	 */
	@MappingColumn(columnName = "APPLICATION_ID", columnPk = true)
	private String applicationId;
	/**
	 * 系统名称.
	 */
	@MappingColumn(columnName = "APPLICATION_NAME")
	private String applicationName;
	/**
	 * 创建时间.
	 */
	@MappingColumn(columnName = "APPLICATION_CREATE_TIME")
	private String applicationCreateTime;
	/**
	 * 修改时间.
	 */
	@MappingColumn(columnName = "APPLICATION_MODIFY_TIME")
	private String applicationModifyTime;
	/**
	 * 资源列表.
	 */
	@MappingTable(tableName = "SECURITY_RESOURCE", modelClass = Resource.class)
	private List<Resource> resourceList;

	public Application() {
	}

	/**
	 * 获取系统id.
	 * @return 系统id
	 */
	public String getApplicationId() {
		return applicationId;
	}

	/**
	 * 获取系统名称.
	 * @return 系统名称
	 */
	public String getApplicationName() {
		return applicationName;
	}

	/**
	 * 获取资源列表.
	 * @return 资源列表
	 */
	public List<Resource> getResourceList() {
		return resourceList;
	}

	/**
	 * 获取创建时间.
	 * @return 创建时间
	 */
	public String getApplicationCreateTime() {
		return applicationCreateTime;
	}

	/**
	 * 获取修改时间.
	 * @return 修改时间
	 */
	public String getApplicationModifyTime() {
		return applicationModifyTime;
	}

	/**
	 * 设置系统id.
	 * @param applicationId
	 *            系统id
	 */
	public void setApplicationId(String applicationId) {
		this.applicationId = applicationId;
	}

	/**
	 * 设置系统名称
	 * @param applicationName
	 *            系统名称
	 */
	public void setApplicationName(String applicationName) {
		this.applicationName = applicationName;
	}

	/**
	 * 获取资源列表.
	 * @param resourceList
	 *            资源列表
	 */
	public void setResourceList(List<Resource> resourceList) {
		this.resourceList = resourceList;
	}

	/**
	 * 设置创建时间.
	 * @param applicationCreateTime
	 *            创建时间
	 */
	public void setApplicationCreateTime(String applicationCreateTime) {
		this.applicationCreateTime = applicationCreateTime;
	}

	/**
	 * 设置修改时间.
	 * 
	 * @param applicationModifyTime
	 */
	public void setApplicationModifyTime(String applicationModifyTime) {
		this.applicationModifyTime = applicationModifyTime;
	}
}
